The present invention relates to semiconductor memory integrated circuits. More particularly, the present invention relates to multi-bank or segmented array architecture, including synchronous random access memories such as synchronous dynamic random access memories and synchronous graphic random access memories.
Although the current invention will work with any type of multi-bank or segmented array architecture, this specification focuses on synchronous dynamic random access memories (SDRAM""s) for purposes of explaining the current invention. Nevertheless, it should be understood that the current invention applies to memory architectures such as video random access memories (VRAM""s), synchronous graphic random access memories (SGRAM""s), Rambus memory systems, and Synchlink memory systems.
Synchronous memories such SDRAM""s are designed to operate in a synchronous memory system, where input and output signals are synchronized to an active edge of a system clock (one exception in an SDRAM being a clock enable signal as used during power-down and self-refresh modes).
The address operations of an SDRAM are somewhat different from those of an asynchronous DRAM. In an asynchronous DRAM, once row and column addresses are issued to the DRAM and the row and column address strobe signals are deactivated, the DRAM""s memory is automatically precharged and available for another access. An SDRAM, on the other hand, requires a separate command to precharge a row of storage cells within a memory array. Assuming an SDRAM has multiple banks and a memory cell in one of those banks has been addressed, that bank remains active even after the cell has been accessed. This occurs because an internal row address strobe is generated and maintains the active state of the addressed row. As a result, the last row accessed in a bank remains open until a PRECHARGE command is used to deactivate the open row and put the bank into a standby mode.
Thus, to accomplish an SDRAM transfer operation, an ACTIVE command is issued to register a row address, and a memory bank is selected to be accessed. Data is then transferred to or from the memory bank by registering the column address through a WRITE or READ command, respectively. Other memory banks may be subsequently accessed, but a PRECHARGE command directed to a bank is needed before registering another row on that bank. During a time tRP required to precharge a row in a bank, commands to other banks may be issued. As a result, the precharge time tRP is considered to be xe2x80x9chiddenxe2x80x9d by the commands to other banks.
Testing of SDRAM as well as other memories involves writing sample data to the banks, reading data from the banks, and comparing the output to the input. This can be a time-consuming process. Consequently, there is a continuing need to shorten test time. One such method in the prior art involves compressing row addresses, which allows more than one open row and therefore allows writing to more than one memory cell at a time. Similarly, column addresses may also be compressed. However, as more rows and columns are activated simultaneously, there is an increase in the current load on busses used to transmit the input and output data. The additional line noise on the busses caused by the increased current load can change the output. As a result, the test mode conditions may actually create errors that would not appear in a non-test mode. Thus, there is an additional need in the art for a faster test mode that will not contribute error-producing factors to the testing process. Moreover, concerning faster writing to multi-bank architectures, prior art teaches treating all banks as one large bank, wherein a row address accesses that row in all of the banks. It would be a benefit to the art to have the option to simultaneously write to any number of banks, including not only writing to one bank or all banks, but also to writing to more than one bank but less than all banks. It would be a further benefit to maintain the discrete nature of each bank by being able to write to one row of one bank and a different row of another bank with a single command.
Accordingly, the present invention provides a method of writing data to memory devices. One exemplary embodiment comprises a method that allows writing to a selection of banks in a synchronous memory device having multiple memory banks. The selectivity of this embodiment covers writing to one bank, all banks, or any number of banks in between.
Another exemplary embodiment provides additional selectivity: in activating a row for each bank designated to receive data, it is not required that the same row be activated in each bank. Rather, this embodiment allows for the activation of non-analogous rows in the banks. For example, the first row in one bank could be activated and the last row in another bank could be activated. The same data could then be written to both rows with a single command. Thus for purposes of quickly writing data, one row of one bank can be paired with rows of other banks that are designated to receive similar data. Writing data to the rows on different banks has the advantage of shortening test time without the disadvantage of creating error-producing line noise that is inherent in compressing data.
Nevertheless, the current invention is not limited to use apart from prior art methods of decreasing the time required for writing: another exemplary embodiment allows for use of multiple bank writing in conjunction with other time-saving writing modes such as page writing.